package com.htgd.gardenexpo.dao;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.htgd.gardenexpo.entity.WxUserStep;
import com.htgd.gardenexpo.vo.KeyValue3;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * @author: 王秀田
 * @date: 2024/12/13 13:51
 * @description: TODO
 */
public interface WxUserStepMapper extends BaseMapper<WxUserStep> {

    int getSumStepWeek(String openId);

    int getSumStepLastWeek(String openId);

    int getSumStepLastWeek1(String openId);

    int getSumStepLastWeek2(String openId);

    long getMonthAvgNum(@Param("openId") String openId,@Param("lastMonth") String lastMonth);

    List<KeyValue3> getMonthList(@Param("openId") String openId,@Param("lastMonth") String lastMonth);

    long getQuarterAvgNum(@Param("openId")String openId, @Param("lastQuarterYear")int lastQuarterYear, @Param("lastQuarter")int lastQuarter);

    List<KeyValue3> getQuarterList(@Param("openId")String openId, @Param("lastQuarterYear")int lastQuarterYear, @Param("lastQuarter")int lastQuarter);

    long getYearAvgNum(@Param("openId")String openId, @Param("lastYear")int lastYear);

    List<KeyValue3> getYearList(@Param("openId")String openId, @Param("lastYear")int lastYear);

    long getMonthTotalNum(@Param("openId")String openId, @Param("lastMonth")String lastMonth);

    Map<String, Object> getMonthDayDateBySort(@Param("openId")String openId, @Param("lastMonth")String lastMonth, @Param("sort")String sort);

    long getQuarterTotalNum(@Param("openId")String openId, @Param("lastQuarterYear")int lastQuarterYear, @Param("lastQuarter")int lastQuarter);

    Map<String, Object> getQuarterDayDateBySort(@Param("openId")String openId, @Param("lastQuarterYear")int lastQuarterYear, @Param("lastQuarter")int lastQuarter, @Param("sort")String sort);

    long getYearTotalNum(@Param("openId") String openId, @Param("lastYear")int lastYear);

    Map<String, Object> getYearDayDateBySort(@Param("openId")String openId, @Param("lastYear")int lastYear, @Param("sort")String sort);
}
